"Enterprise" computing systems, that is, computer systems for use in large-scale computing environments such as offices and research laboratories in which rapid processing and manipulation of large amounts of data is required, in the past have been built around large and expensive mainframe computers. Because of their expense, mainframe computers have typically been shared among a number of users, and with the processing power being allocated to particular users based on a number of criteria. However, as the computing power of personal computers, workstations, and the like has increased, they have become more widely used in enterprise computer systems. Unlike mainframe computers, personal computers, workstations and the like are relatively inexpensive devices which are distributed among workers in the enterprise. One advantage that mainframe computers have over personal computers and workstations, however, is that they (the mainframe computers) more easily provide for sharing of the same data and programs, which can be important in an enterprise environment. To facilitate program and data sharing among personal computers and workstations, networks have been developed over which one personal computer or workstation can make use of data and programs on another "remote" device, in general by causing the data and programs to be "downloaded," that is, transferred to it for processing. In addition, a personal computer or workstation can, typically over a communications medium such as the public telephony system, engage in a communications session with another remote device in which it effectively operates as a terminal on the remote device, enabling the remote device to process programs using data input that it provides.
Typically, when personal computers and workstations are introduced in an enterprise environment, either in addition to or as a replacement for a mainframe computer, it is desired that they (the personal computers and workstations) be able to perform at least some processing operations which are similar to those that were or are being performed by the mainframe computer system. Since programs for controlling these operations have already been prepared for the mainframe computer systems, and have been verified and enhanced over long periods of usage, it would be preferable to merely re-compile the programs for processing by the personal computers and workstations. A problem arises, however, since the architectures of mass storage subsystems which are used with mainframe computer systems, and the mechanism by which data is obtained from and stored in such subsystems, typically differs significantly from those that are used in connection with personal computers and workstations. This problem may be addressed by, for example, reformatting and re-structuring the data that is stored in the mass storage subsystems according to the storage architectures of the personal computers and workstations, but this may require significant changes to the programs during the re-compilation process, which can introduce errors in the programs. In addition, if the data is re-formatted and restructured to accommodate the needs of personal computers and workstations, that may preclude or complicate sharing of the data with the mainframe computers which may also be present in the system.